<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:p="http://primefaces.org/ui">
<h:head>

	<style type="text/css">
.ui-layout-north {
	z-index: 20 !important;
	overflow: visible !important;;
}

.ui-layout-north .ui-layout-unit-content {
	overflow: visible !important;
}

.ui-widget {
	font-size: 10px !important;
}

.size {
	width: 550px;
	position: relative;
	left: 30%;
	top: 10%;
}

.centro {
	top: 50%
}

.tabela {
	width: 750px;
}
</style>


	<title>Cadastro de Propriedade</title>
</h:head>

<h:body>
	<ui:decorate template="/templateBase.xhtml">
		<ui:define name="center">
			<p:growl id="growl" life="3000" autoUpdate="true" />
			<h:form prependId="true" id="formCadastroPropriedade">
				<p:hotkey bind="f2" oncomplete="dlg.show()"
					action="#{pessoaBacking.carregarPessoas}"
					update=":formPesquisa:tabelaProprietario" process="@all"
					immediate="true" />

				<p:hotkey bind="f4" oncomplete="dlgPropriedade.show()"
					action="#{propriedadeBacking.carregarPropriedade}"
					update=":formPesquisaPropriedade:tabelaPropriedade" process="@all"
					immediate="true" />

				<br />
				<br />
				<br />
				<p:panel header="Cadastro de Propriedade" styleClass="size"
					toggleable="true"
					footer="SIGLAS - Sistema de Gerenciamento de Laboratório de Análise de Solo">

					<!-- Aba dados da propriedade -->
					<p:tabView>
						<p:tab title="Dados da Propriedade">
							<br />
							<h:outputText
								value="Código: #{propriedadeBacking.pessoaSelecionada.codigoFormatado()}" />
							<h:panelGrid columns="3">
								<h:outputText value="Nome do Proprietário:" />
								<p:inputText maxlength="50" size="50" disabled="true"
									id="txtProprietario"
									value="#{propriedadeBacking.pessoaSelecionada.nome}" />
								<p:commandButton value="F2" icon="ui-icon-search"
									oncomplete="dlg.show()"
									action="#{pessoaBacking.carregarPessoas}"
									update=":formPesquisa:tabelaProprietario" process="@all"
									immediate="true" />

								<h:outputText value="Nome da Propriedade:" />
								<p:inputText maxlength="50" size="50"
									value="#{propriedadeBacking.propriedadeSalvar.nome}" />
								<p:commandButton value="F4" icon="ui-icon-search"
									oncomplete="dlgPropriedade.show()"
									action="#{propriedadeBacking.carregarPropriedade}"
									update=":formPesquisaPropriedade:tabelaPropriedade"
									process="@all" immediate="true" />

							</h:panelGrid>
						</p:tab>


						<!-- Aba de Endereço -->

						<p:tab title="Endereço">
							<h:panelGrid columns="4">

								<h:outputText value="Logradouro:(*)" />
								<p:inputText
									value="#{propriedadeBacking.enderecoSalvar.logadouro}"
									size="52" required="true"
									requiredMessage="Logradouro em branco" />

								<h:outputText value="Nº:" />
								<p:inputText value="#{propriedadeBacking.enderecoSalvar.numero}"
									size="5" />

							</h:panelGrid>
							<h:panelGrid columns="2">
								<h:outputText value="Complemento:" />
								<p:inputText
									value="#{propriedadeBacking.enderecoSalvar.complemento}"
									size="50" />

								<h:outputText value="Estado:(*)" />
								<p:selectOneMenu effect="drop" id="estado" required="true"
									requiredMessage="Estado inválido"
									value="#{propriedadeBacking.estadoSalvar}">
									<f:selectItem itemLabel="Selecione um Estado" />
									<f:selectItems value="#{propriedadeBacking.listaEstados}"
										var="e" itemValue="#{e.codigo}"
										itemLabel="#{e.nome} - #{e.sigla}" />
									<p:ajax listener="#{propriedadeBacking.carregarCidades}"
										update="cidade" />

								</p:selectOneMenu>

								<h:outputText value="Cidade:(*)" />

								<p:selectOneMenu effect="drop" id="cidade" required="true"
									requiredMessage="Estado inválido"
									value="#{propriedadeBacking.cidadeSalvar}">
									<f:selectItem itemLabel="Selecione uma Cidade" />
									<f:selectItems value="#{propriedadeBacking.listaCidades}"
										var="c" itemLabel="#{c.nome}" itemValue="#{c.codigo}" />

								</p:selectOneMenu>

								<h:outputText value="Bairro:" />
								<p:inputText value="#{propriedadeBacking.enderecoSalvar.bairro}" />

								<h:outputText value="CEP:" />
								<p:inputMask mask="99.999-999"
									value="#{propriedadeBacking.enderecoSalvar.cep}" />
								<br />
							</h:panelGrid>
						</p:tab>
					</p:tabView>
					<div align="center">
						<h:panelGrid columns="2">
							<p:commandButton value="Salvar" icon="ui-icon-disk"
								action="#{propriedadeBacking.salvar}" ajax="false" />
							<p:commandButton value="Cancelar" icon="ui-icon-cancel"
								action="#{propriedadeBacking.reset}" ajax="false" />
						</h:panelGrid>
					</div>
				</p:panel>
			</h:form>

			<h:form prependId="false" id="formPesquisa">
				<p:dialog id="pesquisaPropriedade" widgetVar="dlg"
					header="Pesquisar Propriedades" closable="true" height="400"
					width="400" resizable="false" showEffect="clip" hideEffect="clip">

					<p:dataTable var="p" value="#{pessoaBacking.listaPessoa}" rows="10"
						widgetVar="ProprietarioTabela" paginator="true"
						id="tabelaProprietario"
						emptyMessage="Nenhum registro foi encontrado, tente novamente!">
						<h:outputText value="Proprietarios Cadastrados" />

						<p:column filterBy="#{p.nome}" headerText="Nome">
							<h:outputText value="#{p.nome}" />
						</p:column>

						<p:column headerText="Ações">
							<div align="center">
								<p:commandButton value="Selecionar" process="@this"
									oncomplete="dlg.hide()" update=":formCadastroPropriedade">
									<f:setPropertyActionListener
										target="#{propriedadeBacking.pessoaSelecionada}" value="#{p}" />
								</p:commandButton>
							</div>
						</p:column>
					</p:dataTable>
				</p:dialog>
			</h:form>

			<!-- PESQUISAR PROPRIEDADES -->

			<h:form id="formPesquisaPropriedade">
				<p:dialog id="pesquisaPropriedade" widgetVar="dlgPropriedade"
					header="Pesquisar Propriedade" closable="true" resizable="false"
					showEffect="clip" hideEffect="clip">

					<p:dataTable id="tabelaPropriedade" var="pro"
						value="#{propriedadeBacking.listaPropriedade}" paginator="true"
						rows="5">
						<f:facet name="header">
							<h:outputText value="Propriedades Cadastradas" />
						</f:facet>

						<p:column headerText="Código">
							<h:outputText value="#{pro.codigoFormatado()}" />
						</p:column>

						<p:column headerText="Nome Propriedade">
							<h:outputText value="#{pro.nome}" />
						</p:column>

						<p:column headerText="Logradouro">
							<h:outputText
								value="#{pro.endereco.logadouro}, #{pro.endereco.numero}" />
						</p:column>

						<p:column headerText="Bairro">
							<h:outputText value="#{pro.endereco.bairro}" />
						</p:column>

						<p:column headerText="Cidade">
							<h:outputText
								value="#{pro.endereco.cidade.nome} - #{pro.endereco.cidade.estado.nome}" />
						</p:column>


						<p:column headerText="Ações">
							<div align="center">
								<h:panelGrid columns="2">
									<p:commandButton icon="ui-icon-pencil" onclick="dlg.hide()"
										ajax="false" action="#{propriedadeBacking.preparaAlteracao}">
										<f:setPropertyActionListener update=":formCadastroPropriedade"
											target="#{propriedadeBacking.propriedadeSelecionada}"
											value="#{pro}" />
									</p:commandButton>

									<p:commandButton icon="ui-icon-close"
										onclick="dlgDelete.show()">
										<f:setPropertyActionListener
											target="#{propriedadeBacking.propriedadeSelecionada}"
											value="#{pro}" />
									</p:commandButton>

								</h:panelGrid>
							</div>
						</p:column>

					</p:dataTable>
				</p:dialog>
				<p:dialog id="confirmaDelete" widgetVar="dlgDelete"
					header="Deletar Registro" closable="true" width="230"
					resizable="false" showEffect="clip" hideEffect="clip">
					<div align="center">
						<h:outputText value="Deseja realmente excluir esse registro?" />
						<h:panelGrid columns="2">
							<p:commandButton value="Sim" onsuccess="dlgDelete.hide()"
								actionListener="#{propriedadeBacking.delete}"
								update=":formPesquisaPropriedade:pesquisaPropriedade, :formCadastroPropriedade"
								process="@all" immediate="true" />
							<p:commandButton value="Não" onclick="dlgDelete.hide()" />
						</h:panelGrid>
					</div>
				</p:dialog>
			</h:form>

		</ui:define>
	</ui:decorate>
</h:body>
</html>
